/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.patpro.controladores;

import com.patpro.modelo.javabeans.AlumnoNota;
import com.patpro.modelo.javabeans.AsignacionAcademica;
import com.patpro.modelo.javabeans.Profesor;
import com.patpro.modelo.servicios.AlumnoNotaService;
import com.patpro.modelo.servicios.AsignacionAcademicaService;
import com.patpro.modelo.servicios.ProfesorServicio;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

/**

 */
public class ListarAsignacionAlumnosPorProfesorController extends AbstractController {

    private AsignacionAcademicaService servicio_asignacion;
    private ProfesorServicio servicio_profesor;
    private AlumnoNotaService servicio_alumnonota;

    public void setServicio_alumnonota(AlumnoNotaService servicio_alumnonota) {
        this.servicio_alumnonota = servicio_alumnonota;
    }

    public void setServicio_profesor(ProfesorServicio servicio_profesor) {
        this.servicio_profesor = servicio_profesor;
    }

    public AsignacionAcademicaService getServicio_asignacion() {
        return servicio_asignacion;
    }

    public void setServicio_asignacion(AsignacionAcademicaService servicio_asignacion) {
        this.servicio_asignacion = servicio_asignacion;
    }

    public ListarAsignacionAlumnosPorProfesorController() {
    }
    
    protected ModelAndView handleRequestInternal(
            HttpServletRequest request, 
            HttpServletResponse response) throws Exception {

        String id_semestre = request.getParameter("id_semestre");
        String id_curso = request.getParameter("id_curso");
        String id_profesor = request.getParameter("id_profesor");

        Profesor p = servicio_profesor.buscarProfesorPorUsuario(request.getRemoteUser());

        AsignacionAcademica as = servicio_asignacion.buscarAsignacionAcademica(
                    new AsignacionAcademica(Integer.parseInt(id_curso), Integer.parseInt(id_semestre), Integer.parseInt(id_profesor)));

        List<AlumnoNota> alumnoscurso = servicio_alumnonota.listarAlumnoNota(
                new AsignacionAcademica(Integer.parseInt(id_curso), Integer.parseInt(id_semestre), Integer.parseInt(id_profesor)));

        
        ModelAndView mv = new ModelAndView("profesor/listaAsignacionAlumnos");
        mv.addObject("usuario", p.getNombres_completo());
        mv.addObject("asignacion", as);
        mv.addObject("lista_alumnocurso", alumnoscurso);
        mv.addObject("id_semestre", id_semestre);
        
        return mv;
    }

}